#ifndef _SPECIES_PROPERTIES_H_
#define _SPECIES_PROPERTIES_H_

#include <map>
#include <QString>
#include "../../geom/PolyObject.h"

namespace slotsdata
{
	class SpeciesProperties
	{
		public:
			SpeciesProperties():m_scale(1.0f){}
			void addFile(QString filename, const geom::PolyObject & object);
			void setSpeciesFile(int speciesID, QString filename);
			void setBaseScale(float scale){m_scale = scale;}
			float baseScale() const{return m_scale;}
			QString getFileForSpecies(int speciesID) const;

			std::map<QString, geom::PolyObject>::const_iterator begin() const{return m_speciesObjects.begin();}
			std::map<QString, geom::PolyObject>::const_iterator end() const{return m_speciesObjects.end();}
			int numModels() const{return m_modelFiles.size();}
			int numObjects() const{return m_speciesObjects.size();}
		private:
			void checkDanglingObjects();
			float m_scale;
			std::map<int, QString> m_modelFiles;
			std::map<QString, geom::PolyObject> m_speciesObjects;
	};
}

#endif

